import axios from "axios";
import Cookie from "js-cookie";

const http = axios.create({
    baseURL: "/api",
    timeout: 60000, // 60s
    //todo 请求会自动携带cookie（希望不携带）
    withCredentials: false,
})
//添加请求拦截器
http.interceptors.request.use(config => {
    //在发送请求之前做些什么
    // const token = Cookie.get('token');
    // if (token) {
    //     config.headers.Authorization = `Bearer ${token}`;
    // }
    return config
}, error => {
    //请求失败后做些什么
    return Promise.reject(error)
})
// 添加响应拦截器
http.interceptors.response.use(response => {
    return response;
}, error => {
    console.log(error, 'error');
    const {response} = error;

    // 如果响应存在且状态码为401 Unauthorized
    if (response && response.status === 401) {
        // 清除token cookie
        Cookie.remove('token');
        // 在Vue应用中（假设您使用的是Vue.js），可以使用以下方式显示错误提示：
        alert("登录已过期，请重新登录。");
        window.location.reload();
    }
    // 返回一个Rejected Promise以便调用者能够处理这个错误
    return Promise.reject(new Error("请求失败，状态码：" + (response ? response.status : "未知")));
});
export default http